1. Field of the Invention
The present invention relates generally to processing signals in a mobile communication system, and more particularly, to an apparatus and method which generates scrambling codes for transmitting wireless signals.
2. Background of the Related Art
A mobile communication system performing code division generally uses a scrambling pseudo noise (PN) code to separate or identify each base station. In a standard specification of a Universal Mobile Telecommunications System (UMTS) W-CDMA (Wideband Code Division Multiple Access) which is a system for performing European wireless communications, multiple scrambling codes are generated by separating a plurality of scrambling codes into groups with a fixed length.
These scrambling codes provide the dual benefit of increasing capacity and identifying each base station in the UMTS mobile communication system. In performing the identification function, users are identified through a channel separation scheme which uses an orthogonal code for each group of plural scrambling codes. That is, the user bits, which are transported through a physical channel, are multiplied by a single scrambling code to identify cells or base stations, and by a channelization code to identify each subscriber in a next generation mobile communication system. The scrambling codes of a specific base station thus distinguish base stations in a next generation mobile communication system. Also, to cope with system insufficiencies caused by increasing numbers of users, multiple scrambling codes have been used. Consequently each base station must modulate a user signal with various scrambling codes in order to transmit in the next-generation mobile communication system.
A scrambling code which is used for transmitting information of the base station through, for example, a common pilot channel and common control channel is known as a primary scrambling code. Other codes which differ from the primary code are known as secondary codes. If M secondary codes are used in each base station, then a total of N*(M+1) scrambling codes are required in the field. Here, N means a total of Normal (primary and secondary) and Left/Right which means delayed values with respect to the Normal.
Presently, a range of delay values (n) from 0 to 24575 can be used in a system conforming to the 3GPP (3rd Generation Partnership Project) standard. This gives a total of 24576.
In the case that the “Normal” (the primary+the secondary) is ranged from 0 to 8191, the delay value of Left alternative is ranged from 8192 to 16383, and that of Right alternative is ranged from 16384 to 24575. That is, the delay state means that a generation of code can be started at the specific state regardless of order. Hereinafter a related art in the connection with this field will be described.
FIG. 1 shows a PN sequence generator of a related scrambling code generator. The PN code is a code used for separating base stations from each other relative to a mobile station. A PN sequence x(n) has a polynomial equation of 1+x7+x18, and an X sequence register (PN sequence x(n)) of a PN sequence is a kind of shift register in the PN sequence generator as shown in FIG. 1.x(0)=1, x(1)=x(2)=, , , =x(16)=x(17)=0  (1)x(i+18)=x(i+7)+x(i)modulo2  (2)1+x5+x7  (3)
An initial value for X sequence register of the PN sequence generator is given by equation(1), and the PN sequence x(n) is generated by equation(2) as values of the X sequence register is shifted. The PN sequence y(n) is generated by equation (3). If a period of the PN sequence generator is 24576 chips, the value of the sequence value exists from x(0) to x(24575).
A related method for generating a sequence will now be described with reference to the PN sequence generator shown in FIG. 1. In this method, an X generator and Y generator receive state values of scrambling code from an upper layer and set initial values thereof. An MX and an MY receive arbitrary state values of the X generator and the Y generator and perform EXOR(EXclusive OR) operation and input the result as a MSB (Most Significant Bit) of the X generator and the Y generator respectively. An MXI/MXQ and an MYI/MYQ perform a masking operation on x(n) and y(n) respectively. The MXI/MXQ and the MYI/MYQ performed by EXOR (EXclusive OR) operation are then output as an I code and a Q code, respectively.
The X sequence register of the PN sequence generator stores bit values 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 from the left direction to the right direction in accordance with equation (1). Since “1” in address 0 of the X sequence register is shifted to the right direction and output, the first sequence value x(0) becomes 1, and since “0” in the address 1 is shifted to the right direction, x(1) becomes 0. x(0) to x(17) of the PN sequence are output the same as an initial set of equation (1), and x(18) to x(24575) of PN sequence could be expressed by equation (2). The operation is as follows.
After bit information of address 0 is output during the initial shift operation, bits from address 17 to address 1 of the register are shifted right by one bit. That is, the operation is performed in the manner that “0” originally stored in the address 1 is shifted to address 0, “0” originally stored in the address 2 is shifted to vacant address 0, as like. Finally, MSB “0” stored in the address 17 is shifted to address 16.
As a result of the shift operation, address 17 of the register becomes vacant, and then the result of the Exclusive OR (hereinafter it is called as EXOR) operation between MSB “0” in address 0 and “0” in the address 7 is inserted to the address 17. The value inserted into address 17 becomes x(18) value, i.e., a 19th value, of the PN sequence. Values up to x(24575) can be obtained by driving the PN sequence generator in the same manner.
When a mobile terminal is connected to a base station, the mobile terminal generates a forward PN sequence which is used in the base station to interpret the scrambling code transmitted from the base station. But, since the period of the PN sequence is apparently long, an amount of computations for generating the forward PN sequence from the initial value of the sequence is much too huge, thereby generating the sequence in a delayed state as needed.
To generate a PN sequence with a delay state, a method has been used for performing the mask operation in the field. If x(n) is a normal PN sequence without any delay in the PN sequence generator in FIG. 1, PN sequence output with delay of 24576 (for example) than x(n) is x(n+24576). In the case of the delay, a mask to be used (i.e., an EXOR operation performed with a mask covered over addresses 4, 5, and 15 of the register) is the one corresponding to that delay, and if there is a need for generating other delay, another shape of mask is used.
In the PN sequence, y(n) has a polynomial equation of 1+y5+y7 and a Y sequence register of the PN sequence is a shift register. Operation of the Y sequence register is performed in the same manner as the operation of the X sequence register. Accordingly, scrambling code I is generated by performing an EXOR operation between masked code MXI and MYI, and scrambling code Q is generated by performing an EXOR operation between masked code MXQ and MYQ, as shown in FIG. 1
FIG. 2 shows a detailed configuration of a scrambling code generator shown in FIG. 1. The scrambling code generator includes an initial register value setting unit 20 for receiving a state value of scrambling code from an upper layer and setting initial values of registers, and a code generator 21 for generating code based on the initial state. Since the basic operation of the related scrambling code generator is described with reference to FIG. 1, and omitted parts in the above description will be described hereinafter.
In the generator of FIG. 2, an initial code value (INI_X[17:0]) of 32 bits of scrambling code is input into an X register from the upper layer, and a “1” value is input to all addresses of the Y sequence register. In terms of signals, “CLOCK_N_TIMES” is a value of chip x N and the N can be one of 2, 4, and 8, “INT” is a signal to initialize the system, and “EN_NEXT” is a signal for advancing from a current state to a next state, that is, EN_NEXT notifies an advance to the next state after the initialization. MX and MY are units which perform the mask operation over a concerned state values of the X and the Y sequence registers.
MXI, MXQ, MYI, and MYQ are units which to mask the code output from the initial register value setting unit 20 and output the codes of SCXI, SCYI, SCXQ and SCYQ respectively, thereby generating a desired scrambling code through the EXOR operation.
The related system and method described above has a number of drawbacks. Specifically, when the mobile terminal is connected to the base station, the forward PN sequence has to be generated in the related scrambling code generator as described above. Since the period of the PN sequence is apparently long, an amount of operation for generating forward PN sequence from the initial value of the sequence is huge, and therefore there is a need for generating a sequence in a delayed state as needed. At present, the range of delayed value(n) that can be used in the base station is a total of 24576(from 0 to 24574) in the standard specification of 3GPP. Accordingly, since the related PN sequence generator shown in FIG. 2 generates codes by storing initial states of values of the X sequence register (18 bits*24576), a memory with a huge capacity is required. Also one scrambling code I and Q can be generated in response to a clock in the related scrambling code generator.